//
//  JD_CommonRequest.h
//  Jared_AFN_Cache
//
//  Created by Jared on 2017/1/22.
//  Copyright © 2017年 Jared. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "JD_AFNetworking.h"
#import "JD_CacheTool.h"
#import "CommonResponseBody.h"
#import "CommonResponseBean.h"

typedef void(^ResponseBodyBlock)(CommonResponseBody *responseBody);
typedef void(^ResponseBeanBlock)(CommonResponseBean *result);

@interface JD_CommonRequest : NSObject

/**
 *  Jared封装网络请求（列表）
 *  @param url 接口
 *  @param params  参数
 *  @param requestType        请求类型
 *  @param cacheType  缓存类型
 *  @param success 请求成功
 *  @param failure 请求失败
 */

- (void)requestListDataWithURL:(NSString *)url params:(NSDictionary *)params requestType:(NetworkRequestType)requestType cacheType:(JDCacheType)cacheType success:(ResponseBodyBlock)success failure:(ResponseBeanBlock)failure;

/**
 *  Jared封装网络请求（非列表）
 *  @param url 接口
 *  @param params  参数
 *  @param requestType        请求类型
 *  @param cacheType  缓存类型
 *  @param success 请求成功
 *  @param failure 请求失败
 */

- (void)requestDataWithURL:(NSString *)url params:(NSDictionary *)params requestType:(NetworkRequestType)requestType cacheType:(JDCacheType)cacheType success:(ResponseBodyBlock)success failure:(ResponseBeanBlock)failure;

@end
